<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <style>
        /* 填写样式 */
    </style>
</head>

<body>
    <!-- 填写标签 -->
    <!-- 
        找出数组 arr 中重复出现过的元素（不用考虑返回顺序）
        示例1
        输入：[1, 2, 4, 4, 3, 3, 1, 5, 3]
        输出：[1, 3, 4]
     -->
    <script type="text/javascript">
        // 填写JavaScript
        function duplicates(arr) {
            let array = []
            arr.forEach((element, index1) => {
                arr.filter((item, index2) => {
                    if (item === element && index1 !== index2 && array.indexOf(item) === -1) {
                        array.push(item)
                    }

                })

            });
            return array
        }
        console.log(duplicates([1, 2, 4, 4, 3, 3, 1, 5, 3]))
        /*
            function duplicates(arr) {
                var temp = [];
                arr.forEach(function(elem){
                    if(arr.indexOf(elem) != arr.lastIndexOf(elem) && temp.indexOf(elem) == -1){
                        temp.push(elem);
                    }
                });

                return temp;
            }
        */
        /*
            function duplicates(arr) {
                const setter = new Set();
                const temp = new Set();
                for (const item of arr) {
                    if (setter.has(item)) {
                        temp.add(item);
                    }else {
                        setter.add(item);
                    }
                }
                return Array.from(temp);
            }
        */
    </script>
</body>

</html>